SCSI (Small Computer Systems Interface) is a well known ANSI standard defining the physical and electrical parameters of an I/O bus for effecting parallel data transfers in small computer systems, for example, between a host processor system and one or more peripheral devices such as hard disk drives or CD-ROM drives.
Generally, a host processor system will interface via a SCSI host adaptor with a SCSI bus to which one or more SCSI devices are connected. These devices may be internal to the computer of which the host processor system forms a part, or external to the computer.
In fact, there are a number of SCSI standards, the original standard (here referred to as SCSI-1) and its successor (SCSI-2) in its basic form, both relating to 8-bit wide data transfers at 5 Megabytes/second. An option of SCSI-2 known as Fast SCSI provides for a data transfer rate of 10 Megabytes/second whilst another SCSI-2 option provides for bus widths of 16 or 32 bits to double or quadruple the data rates available with the basic SCSI-2 standard or the Fast SCSI option. More recently, an "UltraSCSI" option has been developed providing for transfer rates of 20 Megabytes/second in the case of an 8-bit wide bus. The above-quoted data rates refer to the synchronous transmission mode. It should be noted that although a SCSI bus system may have been designed to support Fast SCSI or UltraSCSI data rates, such a rate will only be used if both devices participating in a particular transfer is capable of supporting it--if either device cannot handle the rate, then both devices will use a lower rate (the data rate to be used is subject to an initial negotiation between the devices).
With data transfer rates of the order provided by SCSI systems, in order to achieve reliable transmission care has to be taken to effect proper termination of the bus cable at both ends; in addition, it is necessary to limit the length of bus cable permitted and the number of connected physical devices (host adaptor or peripheral).
As regards termination, problems frequently arise when system configuration is changed (a SCSI device added or removed) simply because bus termination is not correspondingly adjusted. To deal with this problem a number of recent proposals have been made for automatically controlling termination of a SCSI bus by detecting the presence or absence of upstream/downstream SCSI devices. Arrangements for doing this are described in U.S. Pat. No. 5,313,595; WO-A-94/08305; and WO-A-95/02281.
With respect to restrictions on bus length and the number of connected devices, 8-bit single-ended SCSI-2 is restricted to 8 devices and a bus length of 6 meters. UltraSCSI is limited to 8 devices under 1.5 meters or 4 devices between 1.5 meters and 3 meters. The foregoing figures are for single-ended rather than differential transmission.
As there is no inherent way of restricting a user from adding devices and increasing the length of the SCSI bus, it is not uncommon to find systems configured outside of specification with a resultant degradation in transmission quality leading to an increase in data corruption and a reduction of system performance.
It is an object of the present invention to provide some alleviation of the foregoing problem.